The Internet is a global network of interconnected networks and computers which enables users at computers coupled to the networks to exchange information including data, images, voice, recorded sound, and electronic mail. Computers connected to the Internet may be classified as client computers ("clients") and server computers ("servers"). Servers are repositories of information. Internet users access the information present at the servers using client computers. Protocols establish the manner of information exchange between clients and other clients, between clients and servers, and between servers and other servers. The hypertext transfer protocol is one example.
Although natural language processing systems are beginning to emerge, capable of appropriate responses to spoken or typed queries, the integration of such capabilities into network applications is complex and time consuming. Customization for each application requires highly specialized knowledge outside the domain of normal application developers. Developing applications for performing speech recognition requires highly specialized knowledge.
In a conventional arrangement, a client computer is communicatively coupled to a single server computer according to a client-server architecture. Packets of data representing speech are passed from the client computer to the server computer. The server computer is capable of performing automatic speech recognition and also interpreting the results of the speech recognition. In the single "monolithic" server computer, the speech recognition function is tightly coupled to the function that interprets recognition results for a specific task domain. The two functions are likely accomplished in the same application running on the monolithic server computer.
While intimate knowledge about the task domain allows small improvements to be made in the speech recognition function, and knowledge of characteristics of the speech recognition function allows specific improvements in the result interpretation function, such improvements are made difficult by the complex interdependency of the application functions performed by the monolithic server computer. Shortcomings of this approach are that it is not easy to separate the two functions of speech recognition and result interpretation in the single monolithic server computer, and thus, the monolithic server computer cannot be applied to a new task without extensively redesigning both functions. For the same reason, as technology improves, it is often difficult to add new or improved functionality without a similar redesign of the single monolithic server computer.